草庐IT

c - 在 C 中执行 shellcode (visual studio 2017

全部标签

c# - 使用C#方法组执行代码

在更新我的UI代码(.NET4.0应用程序中的C#)时,由于在错误的线程中执行对UI的调用,我遇到了奇怪的崩溃。然而,我已经在主线程上调用了那个调用,所以崩溃没有意义:一个不同的线程拥有它。”在View属性上。经过进一步调查,我找到了原因:我是通过方法组调用的。我曾认为使用方法组或委托(delegate)/lambda本质上是同一件事(另请参见thisquestion和thisquestion)。相反,将方法组转换为委托(delegate)会导致代码执行,检查View的值。这是立即完成的,即在导致崩溃的原始(非UI)线程上。如果我改为使用lambda,则稍后会检查属性,因此会在正确的线

c# - EF6 和 Visual Studio 2017 中的 Entity Framework 工具在哪里?

我使用的是VisualStudio2017和EntityFramework6,但我一直找不到EDMX文件、实体数据工具、模型浏览器或实体设计器...我是不是疯了?我已经创建了多个新项目,试图找到这些基于UI的工具来处理EntityFramework数据模型,但似乎无处可寻。请帮忙!我相信我在VS2017安装中安装了正确的工具: 最佳答案 对于看到这个的任何人,在我的例子中,答案是我使用的是EntityFramework的代码优先实现,这显然不会让您访问可视化工具。所以Code-FirstEntityFramework中没有EDMX文

c# - 如何将 C# 8 与 Visual Studio 2017 一起使用?

我想在VisualStudio2017中使用C#8.0(尤其是范围和不可为null的引用类型)。这可能吗? 最佳答案 展望future,微软希望将C#语言版本与框架版本比过去更紧密地联系在一起。他们真的只希望您将C#8与.NETCore3.x和.NETStandard2.1项目一起使用,这意味着使用VisualStudio2019。我对DoesC#8supportthe.NETFramework?的回答有所有血淋淋的细节。但是,如果您真的想现在可以在VisualStudio2017中使用C#8,方法是使用thesametrick将C

c# - Visual Studio 2017 中源文件的默认编码是什么?

似乎VisualStudio2017总是将新文件保存为UTF8-BOM。早期版本的VisualStudio似乎也不是这种情况,但我找不到任何文档。还有一个选项“AdvancedSaveOptions\Encoding”,它允许更改VS2017中缺少的新保存文件的编码。问题:在VS2017中是否所有文件类型都使用UTF8-BOM编码保存?是否可以在VS2017中为新文件配置编码?VS2017会更改没有UTF8-BOM的“旧”文件的编码吗?是否有关于此主题的文档? 最佳答案 Alsotherehasbeenanoption"Advanc

c# - DelegatingHandler 不执行 ASP.Net Web Api

今天我在我的WebApi应用程序中遇到了一个奇怪的行为protectedvoidApplication_Start(){FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);RouteConfig.RegisterRoutes(RouteTable.Routes);GlobalConfiguration.Configuration.MessageHandlers.Add(newDummyMessageHandler());}我的DelegatingHandler看起来像这样。publicclassDummyMessageHa

c# - EF 生成的查询执行时间过长

我有一个非常简单的查询,它是由EntityFramework生成的,有时当我尝试运行此查询时,执行时间几乎超过30秒,并且超时Exception.SELECTTOP(10)[Extent1].[LinkID]AS[LinkID],[Extent1].[Title]AS[Title],[Extent1].[Url]AS[Url],[Extent1].[Description]AS[Description],[Extent1].[SentDate]AS[SentDate],[Extent1].[VisitCount]AS[VisitCount],[Extent1].[RssSourceId

c# - 如果另一个线程正在执行它,则退出该方法

我在多线程应用程序中有一个方法,我希望调用此方法时出现以下行为:如果当前没有其他线程正在执行该方法,则执行它。如果另一个线程当前正在执行该方法,则退出该方法而不执行它。C#中的lock语句对于等待线程完成执行很有用,但我不想序列化对此方法的访问,而是绕过执行所述方法(如果它正在被执行)另一个线程。 最佳答案 您可以使用Monitor.TryEnter执行此操作,但也许更简单:互锁:intexecuting;//makethisstaticifyouwantthisone-caller-onlyto//allobjectsinstea

c# - 在 Linq 查询中执行代码块的语法?

这是一些(显然)无法编译的代码:varq=fromxinmyAnonymousTypeCollectionselectnew{x.ID,CalcField={switch(x.SomeField){case1:returnMath.Sqrt(x.Field1);case2:returnMath.Pow(x.Field2,2);default:returnx.Field3;}}};你明白了;我正在尝试计算CalcField以完全不同的方式,取决于SomeField的值是。我不能使用Func(或者我可以吗?),因为输入类型是匿名的。那么让它工作的正确语法是什么?

c# - Hangfire 禁用并发执行 : What happens when the timeout expires?

根据Hangfire0.8.2announcementpost,Hangfire有一个DisableConcurrentExecution过滤器,当应用于一个方法时,它会阻止该方法的多个实例同时执行。DisableConcurrentExecution过滤器采用timeoutInSecondsint参数。来自链接文章中的示例:[DisableConcurrentExecution(timeoutInSeconds:10*60)]publicvoidSomeMethod(){//Operationsperformedinsideadistributedlock}我的问题是:给定一个正在等

c# - Visual Studio 2017 中的自定义 TFS checkin 策略

不久前,我开发了一个自定义TFScheckin策略,该策略在VisualStudio2015中运行良好。现在我安装了VisualStudio2017并想像之前使用VS2015一样注册checkin策略程序集。但这不起作用。如何使用VS2017注册自定义checkin策略程序集?对于VS2015,我有这些注册表项:[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\14.0\TeamFoundation\SourceControl\CheckinPolicies]"MyCheckInPolicy"="C:\\Pr